<?php

    /*pdk@medincom.ru
    snl@medincom.ru*/
    
    global $mikron;
    $cabinet = $mikron->Users->CurrentUser()->user;
    
    if(isset($_GET['deleteperson']))
    {
        $id = (int)$_GET['deleteperson'];
        try
        {
            $pers = $mikron->Queries->Query('T_PERSON', $id);
            if($pers->count() == 0)
            {
                throw new Exception('Карточка не найдена в картотеке.');
            }
            $pers = $pers->fetch();
            if($pers->cabinet->value->id != $mikron->Users->CurrentUser()->id())
            {
                throw new Exception('Карточка не найдена в картотеке.');
            }
            $mikron->EntityManager->DeleteEntity("T_PERSON", $id, true);
            $mikron->Tools->GoToPage('Location: /remoterecord/?ok=delete');
        }
        catch(Exception $ex)
        {
            
        }
    }

    if(isset($_REQUEST['addpeople']))
    {
        showaddform(false);
        $t = new html_table();
        $t->newcol();
        if(isset($_GET['error']))
        {
            switch($_GET['error'])
            {
                case 'notfound':
                    echo '{{nicewindow style=error caption="Ошибка"}}Внимание, карточка
                    с такими даннымине числится в базе.{{/nicewindow}}';
            }
        }
        $t->end();
    }
    else
    {

        $list = $mikron->Queries->Query("T_PERSON", null, "cabinet=".$mikron->Users->CurrentUser()->id());
        
        $tbl2 = new html_table(2,null,null,0,0);
        $tbl2->newcol(null, null, null, null);
            if($list->count() > 0)
            {
            }
        $tbl2->newcol(null, null, null, null, 'addpeoplebox');
            $frm = new html_form('addpeople', 'post', '/remoterecord/?addpeople', "ShowAddPeopleForm(); return false;");
            $frm->addSubmit('addpeoplesubmit', 'Добавить карточку');
            $frm->end();
        $tbl2->newcol(null,null,null,null,null,null,null,null,2);
            showlist($list);
        $tbl2->end();
        showaddform(true);
    }
    
    function showlist($list)
    {
        global $mikron;
        ?><div style="padding-top: .5em;"><?php
        $tbl = new html_table(null, "wintable2", "640px");
        $tbl->addhead("&nbsp;");
        $tbl->addhead("Ф.И.О.");
        $tbl->addhead("Дата рождения");
        $tbl->addhead("ОМС");
        $tbl->addhead("&nbsp;");
        $tbl->addhead("&nbsp;");
        while($person = $list->fetch())
        {
            $tbl->newrow();
                $fio = $person->lastname->value.' '.$person->firstname->value.' '.$person->fathername->value;
                $checked = !is_null($person->uniqueid->value);
                if($checked)
                {
                    $image = "<img src='/templates/remoterecord/images/images/user.png' title='Проверен'>";
                }
                else
                {   
                    $image = "<img src='/templates/remoterecord/images/images/user_off.png' title='Не проверен'>";
                }
                $birthday = MikronDateTime::BeautifulDate(strtotime($person->birthday->value));
                $oms = $person->omsseries->value." ".$person->omsnumber->value;
                $oms .= "&nbsp;";
                $tbl->newcol($image, true, true, null, null, "16px", "middle");
                    $fiorec = "<a onclick=\"return showCard(".$person->id.");\" href='/remoterecord/getcard.php?id=".$person->id."'>$fio</a>";
                $tbl->newcol($fiorec, true, false, null, null, null, "middle");
                $tbl->newcol($birthday, true, false, null, null, null, "middle");
                $tbl->newcol($oms, true, false, null, null, null, "middle");
                    $rec = "<a href='/remoterecord/lpulist.php?person=".$person->id."'>Записать</a>";
                $tbl->newcol($rec, true, true, null, null, null, "middle");
                    $delete = "<a onclick='return confirm(\"Удалить карточку из списка?\");' href='/remoterecord/?deleteperson=".$person->id."'>Удалить</a>";
                $tbl->newcol($delete, true, true, null, null, null, "middle");
        }
        $tbl->end();
        if($list->count() == 0)
        {
            ?>В Вашей картотеке нет ни одной карточки.
            <br />Вы можете добавить карточку нажав на соответствующую кнопку.<?php
        }
        ?></div>
        <div class="card" id="cardinfo"
            style="display: none; position: absolute; left: 150px; top: 325px; background-color: #ffe; border: 4px solid #80c040; padding: 1em; ">
            Получение данных...
        </div>
        <?php
    }

    function showaddform($popup = false)
    {

        $exstyle = "padding: 0em 1em ; ";
        if($popup)
        {
            $exstyle= "padding: 1em; padding-top: .5em; display: none; position: absolute;
            left: 128px; top: 128px;
            border: 16px solid #79b612;
            background-color: #ffe;";
        }
        ?>
            <script type="text/javascript" src="/functions.js"></script>
            <div id="addpeoplediv" class="addpeoplediv" style="<?php echo $exstyle; ?>">
                <h2 style="margin-bottom: .5em; ">Добавление карточки в картотеку</h2>
                <div class="success">Карточка успешно добавлена.</div>
                {{userform
                    entityname="T_PERSON"
                    id=""
                    class="submit"
                    formid="addpeopleform"
                    validate="
                                'test': {test: true},
                                'userform[birthday]': {
                                                        date: true,
                                                        minlength: 10,
                                                        message: 'uncorrect data string.'
                                                      },
                                'userform[lastname]': { required: true },
                                'userform[firstname]': { required: true },
                                'userform[fathername]': { required: true },
                                'userform[omsseries]': { required: true },
                                'userform[omsnumber]': { required: true }
                               "
                    onsubmit = "submitAjax(this)"
                    caption="Добавление карточки в картотеку"
                    captcha=0
                    returnpage="/remoterecord/?addperson=%ID%"
                    processor="/remoterecord/"}}
                <?php if($popup) { ?>
                <button id="exclosebutton" onclick="CloseAddPeopleForm();">Закрыть</button>
                <?php } ?>
                <input type="hidden" id="datepicker" style="border:none; ">
                <script type="text/javascript">
                    
                    // Инициализация контрола «Календарь»
                    $(function() {
                        $.datepicker.setDefaults($.extend({showMonthAfterYear: false}, $.datepicker.regional['ru']));
                        $("#birthday").datepicker({
                         onClose: function(dateText, inst) {$("#birthday").focus();},
                        _showButtonPanel: true,
                        changeMonth: true,                           
                        changeYear: true,
                        altField: '#datepicker',
                        altFormat: 'd MM, yy',
                        yearRange: "1920:"+(new Date()).getYear(),
                        buttonImage: '/images/calendar.gif',
                        buttonText: 'Выбрать дату рождения',
                        buttonImageOnly: true,
                        showOn: "button"
                        });
                    });

                    // Функция выполняется после полной загрузки страницы
                    $(document).ready(function()
                    {
                        /**
                        * Регистрируем горячие клавишу.
                        * При нажатиина [ESC] закроются все открытые окна
                        */
                        $(document).bind('keydown', 'esc', function()
                        {
                            //CloseAddPeopleForm();
                            //$('div#cardinfo').fadeOut();
                        });
                    });

                    function submitAjax(form)
                    {
                        $(':input[type=submit]',form).attr('disabled','disabled');
                        $(':input[type=submit]','form.submit').attr('value','Подождите, идет проверка...');
                        $('#exclosebutton').attr('disabled','disabled');
                        $('div.success').fadeOut();
                        // готовим объект
                        var options = {
                            url: '/remoterecord/?ajax=addperson&save=save',
                            type:'post',
                            // resetForm: true,
                            clearForm: true,
                            // timeout: 3000,
                            beforeSubmit: showRequest,
                            error: function()
                            {
                                
                            },
                            complete: function(data, status)
                            {
                                if(status == 'error')
                                {
                                    $('div.success').css({ "background-color":"#ffb493", "border":"1px solid #c38526"});
                                    $('div.success').html(data.responseText);
                                }
                                else
                                {
                                    $('div.addpeoplediv').hide();
                                    $('div.success').hide();
                                    $('form.submit').hide();
                                    $('div.success').css({ "background-color":"d4fd96", "border":"1px solid #85c326"});
                                    // $('div.success').html("Карточка успешно добавлена в картотеку.");
                                    document.location.href = "/remoterecord/";
                                }
                                $(':input[type=submit]','form.submit').attr('disabled','');
                                $(':input[type=submit]','form.submit').attr('value','Добавить');
                                $('#exclosebutton').attr('disabled','');
                                $('div.success').fadeIn();
                            }
                        };
                        // передаем опции в  ajaxSubmit
                        $("form.submit").ajaxSubmit(options);
                        return false;
                    }

                    /**
                    * Функция показа данных карточки
                    */
                    function showCard(id)
                    {
                        $.get('/remoterecord/getcard.php', {'ajax':true,'id':id}, function(resonseData)
                        {
                            $('div#cardinfo').html(resonseData);
                            $('div#cardinfo').fadeIn();
                            //code here will be called when the ajax call has completed
                        })
                        return false;
                    }

                    /**
                    * Вывод формы добавления карточки
                    */
                    function ShowAddPeopleForm()
                    {
                        var form = document.getElementById('addpeoplediv');
                        $(':input',form).attr('disabled','');
                        $('div.addpeoplediv').fadeIn();
                        // $('div.addpeoplediv').dropShadow({left: 4, top: 4, opacity: 0.8, blur: 2});
                    }

                    // закрытие формы добавления карточки
                    function CloseAddPeopleForm()
                    {
                        var form = document.getElementById('addpeoplediv');
                        $('div.success').fadeOut();
                        $('div.addpeoplediv').fadeOut(); //.removeShadow();
                    }

                    function showRequest(formData, jqForm, options)
                    {
                        /*
                        for (var i=0; i < formData.length; i++)
                        { 
                            if(formData[i].name == 'userform[birthday]')
                            {
                                if(formData[i].value)
                                {
                                    
                                }
                            }
                        }*/
                        // var usernameValue = $('input[@name=userform[birthday]]').fieldValue(); 
                        //var form = formData[0]; 
                        //alert(form[0]);
                        /* var queryString = $.param(formData);
                        alert(queryString); */
                        return true;
                    }

                </script>
            </div>
        <?php
            if(!$popup)
            {
                $frm = new html_form("cancelform", "get", "/remoterecord/");
                $frm->addSubmit("cancelsubmitbutton", "Отмена");
                $frm->end();
            }
            
    }

?>